home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1997-01-29 | 2.7 KB | 92 lines |
- 10 'VOLTDIV - Voltage Divider - 18 NOV 95 rev. 30 SEP 96
- 20 IF EX$=""THEN EX$="EXIT"
- 30 CLS:KEY OFF:COLOR 7,0,1
- 40 UL$=STRING$(80,205)
- 50 U$="######,###.###"
- 60 '
- 70 '.....start
- 80 CLS:V=0:V1=0:V2=0:R1=0:R2=0:I=0
- 90 COLOR 15,2
- 100 PRINT " VOLTAGE DIVIDER";
- 110 PRINT TAB(57);"by George Murphy VE3ERP ";
- 120 COLOR 1,0:PRINT STRING$(80,223);:COLOR 7,0
- 130 '
- 140 '.....diagram
- 150 L=3:T=24
- 160 COLOR 0,7
- 170 LOCATE L+ 0,T:PRINT " "
- 180 LOCATE L+ 1,T:PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND V SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
- 190 LOCATE L+ 2,T:PRINT " CALL CALL "
- 200 LOCATE L+ 3,T:PRINT " CALLDEFSNGSOUNDSOUNDSOUNDSOUND V1 SOUNDSOUNDSOUNDSOUNDDEFDBLCALLDEFSNGSOUNDSOUNDSOUNDSOUND V2 SOUNDSOUNDSOUNDSOUNDDEFDBLCALL "
- 210 LOCATE L+ 4,T:PRINT " CALL CALL CALL "
- 220 LOCATE L+ 5,T:PRINT " SOUNDSOUNDSOUNDSOUND\/\/\/SOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUNDSOUND\/\/\/SOUNDSOUNDSOUNDSOUND "
- 230 LOCATE L+ 6,T:PRINT " + R1 I-DEFDBL R2 - "
- 240 LOCATE L+ 7,T:PRINT " "
- 250 COLOR 7,0
- 260 PRINT UL$;
- 270 '
- 280 '.....inputs
- 290 COLOR 0,7:LOCATE CSRLIN,21
- 300 PRINT " Press 1 to continue or 0 to EXIT..... "
- 310 COLOR 7,0
- 320 Z$=INKEY$:IF Z$=""THEN 320
- 330 IF Z$="0"THEN CLS:RUN EX$
- 340 IF Z$="1"THEN 360
- 350 GOTO 320
- 360 LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
- 370 INPUT " ENTER: Voltage V ";V:IF V=0 THEN 360
- 380 LOCATE CSRLIN-1:PRINT STRING$(80,32);:LOCATE CSRLIN-1
- 390 PRINT TAB(9);"If unknown, press ENTER DEFSNG'......"
- 400 '
- 410 VIEW PRINT 13 TO 24:CLS:VIEW PRINT:LOCATE 13
- 420 IF V1=0 THEN INPUT " ENTER: Voltage V1 ";V1:GOSUB 480
- 430 IF V2=0 THEN INPUT " ENTER: Voltage V2 ";V2:GOSUB 480
- 440 IF R1=0 THEN INPUT " ENTER: Resistance R1 ";R1:GOSUB 480
- 450 IF R2=0 THEN INPUT " ENTER: Resistance R2 ";R2:GOSUB 480
- 460 GOTO 410
- 470 '
- 480 '.....calculate
- 490 IF I =0 AND V*R1*R2<>0 THEN I=V/(R1+R2): GOTO 480
- 500 IF I =0 AND V2*R2<>0 THEN I=V2/R2: GOTO 480
- 510 IF V1=0 AND V*V2<>0 THEN V1=V-V2: GOTO 480
- 520 IF V1=0 AND I*R1<>0 THEN V1=I*R1: GOTO 480
- 530 IF V1=0 AND V*V2<>0 THEN V1=V-V2: GOTO 480
- 540 IF V2=0 AND V*V1<>0 THEN V2=V-V1: GOTO 480
- 550 IF V2=0 AND I*R2<>0 THEN V2=I*R2: GOTO 480
- 560 IF V2=0 AND V*V1<>0 THEN V2=V-V1: GOTO 480
- 570 IF R1=0 AND V*V2*R2<>0 THEN R1=(V-V2)*R2/V2: GOTO 480
- 580 IF R2=0 AND V*V1*R1<>0 THEN R2=R1*V2/(V-V2): GOTO 480
- 590 IF V*I*V1*V2*R1*R2<>0 THEN P=I*V:GOTO 620
- 600 RETURN
- 610 '
- 620 '.....print
- 630 VIEW PRINT 12 TO 24:CLS:VIEW PRINT:LOCATE 12
- 640 PRINT TAB(9);"Voltage V.....";USING U$;V;:PRINT " volts "
- 650 PRINT TAB(9);"Current I.....";USING U$;I;:PRINT " amperes";
- 660 PRINT USING U$;P;:PRINT " watts"
- 670 PRINT TAB(9);"Voltage V1....";USING U$;V1;:PRINT " volts "
- 680 PRINT TAB(9);"Voltage V2....";USING U$;V2;:PRINT " volts "
- 690 PRINT TAB(9);"Resistance R1.";USING U$;R1;:PRINT " ohms ";
- 700 PRINT USING U$;I*V1;:PRINT " watts"
- 710 PRINT TAB(9);"Resistance R2.";USING U$;R2;:PRINT " ohms ";
- 720 PRINT USING U$;I*V2;:PRINT " watts"
- 730 '
- 740 '.....end
- 750 GOSUB 790
- 760 GOTO 70
- 770 END
- 780 '
- 790 'HARDCOPY
- 800 GOSUB 910:LOCATE 25,2:COLOR 14,6
- 810 PRINT " Press 1 to print screen, 2 to print screen & ";
- 820 PRINT "advance paper, or 3 to continue.";:COLOR 7,0
- 830 Z$=INKEY$:IF Z$="3"THEN GOSUB 910:RETURN
- 840 IF Z$="1"OR Z$="2"THEN GOSUB 910:GOTO 860
- 850 GOTO 830
- 860 FOR QX=1 TO 24:FOR QY=1 TO 80
- 870 LPRINT CHR$(SCREEN(QX,QY));
- 880 NEXT QY:NEXT QX
- 890 IF Z$="2"THEN LPRINT CHR$(12)
- 900 GOTO 800
- 910 LOCATE 25,1:PRINT STRING$(80,32);:RETURN
-